package cn.fl.spl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spl.vo.SplPropInfoVO;
import fl.spl.facade.store.dto.SplPropInfoDTO;

import java.util.ArrayList;
import java.util.List;


/**
* @Description: 供应商属性表 转换器
* @Description: VO是客户端传递数据到服务端进行转换的数据
* @Description: VO转换数据变成DTO传递到服务端
* @Description: VO不能在服务端出现
*/
public class SplPropInfoVOTransform {


    /**
     * VO 转  DTO
     * @param vo SplPropInfoVO
     * @return SplPropInfoDTO
     */
    public static SplPropInfoDTO toDTO(SplPropInfoVO vo) {
        SplPropInfoDTO  dto = null;
        if (vo != null) {
            dto = new SplPropInfoDTO();
            dto.setId(vo.getId());
            dto.setSplId(vo.getSplId());//供应商ID
            dto.setStoreId(vo.getStoreId());//店铺ID
            dto.setPropInfo(vo.getPropInfo());//属性信息
            dto.setPropTypCd(vo.getPropTypCd());//属性类型(“001”：代表供应商产品类型，“002”：经营范围)
            dto.setIsDel(vo.getIsDel());//是否删除
            dto.setIsValid(vo.getIsValid());//是否有效

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  VO
     * @param dto SplPropInfoDTO
     * @return SplPropInfoVO
     */
    public static SplPropInfoVO toVO(SplPropInfoDTO dto) {
        SplPropInfoVO vo = null;
        if (dto != null) {
            vo = new SplPropInfoVO();
            vo.setId(dto.getId());
            vo.setSplId(dto.getSplId());//供应商ID
            vo.setStoreId(dto.getStoreId());//店铺ID
            vo.setPropInfo(dto.getPropInfo());//属性信息
            vo.setPropTypCd(dto.getPropTypCd());//属性类型(“001”：代表供应商产品类型，“002”：经营范围)
            vo.setIsDel(dto.getIsDel());//是否删除
            vo.setIsValid(dto.getIsValid());//是否有效

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO集合 转 DTO集合
     * @param list List<SplPropInfoVO>
     * @return List<SplPropInfoDTO>
     */
    public static List<SplPropInfoDTO> toDTOList(List<SplPropInfoVO> list) {
        List<SplPropInfoDTO>  dtoList = new ArrayList<SplPropInfoDTO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (SplPropInfoVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }

    /**
     * DTO 转 VO
     * @param list List<SplPropInfoDTO>
     * @return List<SplPropInfoVO>
     */
    public static List<SplPropInfoVO> toVOList(List<SplPropInfoDTO> list) {
        List<SplPropInfoVO>  voList = new ArrayList<SplPropInfoVO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (SplPropInfoDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }
}
